define(function(require, exports, module) {
  var $ = require("$");
  require("bootstrap_commonrequire");
  require("moment");
  
  require('fileinput.min.css');
  require('fileinput');
  require('fileinput_locale_zh.min');

  exports.init = function(param) {

    $(document).ready(function() {
      // 蒙版
//      loader.loading("数据加载中，请稍后……");
      // 获取当前页面的json数据
      var alldata={};
      // 定义每行查询条件的id
      var myrow = 2;
      // 定义查询条件的最大条数
      var maxrow = 6;
      // 获取页面初始化时“访问地址”的值
      var requesturl = "";
      
      
      // 加载自定义模板-条件区域
      var template = require("./batchregister.tpl");
      var Widget = require("widget");
      var Component = Widget.extend({
        template : template
      });
      new Component({
        renderTo : "queryAreaId"
      });
      
      
      
      // 在访问地址中默认为正式环境的url；如果传值为空，则使用后台默认的正式环境的url
      $('#requesturl').val("http://open.yonyoutelecom.cn/httpIntf/accountReg.do?");
      
      
      // 下载Excel模板按钮
      $('#exportmodel').click(function() {
        // 动态输出跳转
        window.location.href="/file/BatchRegisterModel.xlsx";
        
        return false;
      });
      
      
      //初始化fileinput控件(一旦“访问地址”被更改，需要执行requesturl的change事件中的refresh方法)
      function initFileInput(ctrlName, uploadUrl) {    
        var control = $('#' + ctrlName); 

        control.fileinput({
          language: 'zh', //设置语言
          uploadUrl: uploadUrl,
          showUpload: true, //是否显示上传按钮
          showCaption: true, //是否显示标题
          browseClass: "btn btn-primary", //按钮样式   
          dropZoneEnabled: true, //是否显示拖拽区域
          maxFileSize: 0, //单位为kb，如果为0表示不限制文件大小
          minFileCount: 1, //表示允许同时上传的最小文件个数
          maxFileCount: 1, //表示允许同时上传的最大文件个数
          validateInitialCount:true,
          enctype: 'multipart/form-data',
          allowedFileExtensions : ['xlsx', 'xls'],
          previewFileIcon: '<i class="icon-upload"></i>'
        });
        
        // fileinput的回调函数
        $('#' + ctrlName).on("fileuploaded", function (event, data, previewId, index) {
          // 获取拼接成json串
          var flag = data.response.flag;
          
          // 进行企业批量注册成功后
          if(flag == "000000"){
            var items = data.response.data.items;
            // 获取items中的对象个数
            var len = items.length;
            // 获取items中的对象
            var bean = null;
            // 将对象转换成字符串输出
            var info = "";
            // 对每条记录，进行编号
            var num = len;
            
            // 倒序输出注册成功失败信息事件
            for(var i=len-1;i>=0;i--){
              bean = items[i];
              info = JSON.stringify(bean);
              
              // 输出注册成功失败信息事件；倒序输出
              var myhtml = "<p id='mytip"+num+"'>"+num+" "+info+"</p>";
              $("#mytips").after(myhtml);
              
              num--;
            }
          }
          // 用户超时或操作失误，重新登录
          else if(flag == "100000"){
            oauth2Relogin();
          }
          // 并未传入数据
          else if(flag == "200000"){
            alert("您并没有在Excel中传入数据，请重新添加所需信息后再上传");
          }
          // 获取数据失败
          else if(flag == "300000"){
            alert("很抱歉，获取Excel中的数据失败了");
          }
          // 重新登录
          else{
            oauth2Relogin();
          }
          
          return false;
        });
      };
      
      requesturl = $('#requesturl').val();
      // 初始化fileinput控件
      initFileInput("fileupload", "/batch/batchRegister.do?requesturl=" + requesturl);
      
      // 一旦“访问地址”被更改，需要执行requesturl的change事件中的refresh方法，则不再执行上面的初始化的方法了
      $("#requesturl").change(function(){
        // 获取“访问地址”中的值
        var myvalue = $("#requesturl").attr("value");
        // 新的“访问地址”url
        var newurl = "/batch/batchRegister.do?requesturl=" + myvalue;
        
        // 更新fileinput控件的url内容
        $('#fileupload').fileinput('refresh', {
          uploadUrl: newurl
        });
        
        // fileinput控件，更改文件时，会删除setinfo滚动条中的内容
        $('.fileinput-remove-button').on('click',function(){
          $("#mytips").nextAll().remove();
        });
        
      });

    });
    
    $(function(){
      // fileinput控件，更改文件时，会删除setinfo滚动条中的内容
      $('.fileinput-remove-button').on('click',function(){
        $("#mytips").nextAll().remove();
      });
      
    });
    
  };
});
